#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<cstdlib>
using std::endl;
using std::cout;
using std::cin;
////C++写
//class ListNode1
//{
//public:
//	int val;
//	ListNode* next;
//};
////C写
//typedef struct ListNode
//{
//	int val;
//	struct ListNode* next;
//}ListNode2;
//int main()
//{
//	//C++的方式来定义一个ListNode类型变量
//	ListNode1 s;//注：这里不需要typedef
//	//C的方式来定义一个ListNode类型的变量
//	ListNode2 a;//注：这里直接用ListNode2的原因是前面用了typedef 
//	return 0;
//}
class ListNode
{
public:
	ListNode(int _val = 0, ListNode* _next = nullptr)
	{
		val = _val;
		next = _next;
	}
	int val;
	ListNode* next;
};
class List
{
public:
	//构造函数
	List(ListNode* _head = nullptr)
	{
		head = _head;
	}
	//析构函数
	~List()
	{
		while (head)
		{
			free(head);
			head = head->next;
		}
		head = nullptr;
	}
	List operator+=(int x)
	{

	}
	void push(int x);
	void pop();
	void print();
	void empty();
private:
	ListNode* head;
};
int main()
{
	cout<<sizeof(ListNode);
	return 0;
}